#ifndef _TYPVH_
#define _TYPVH_

typedef struct TypVoisins TypVoisins;

struct TypVoisins {
	int 		voisin;				/* numéro du voisin du sommet courant */
	double 		poidsVoisin;		/* poids de l'arête qui lie le sommet courant au sommet voisin */
	TypVoisins*	voisinSuivant;		/* pointeur sur le voisin suivant du sommet courant */ 
	TypVoisins*	voisinPrecedent;	/* pointeur sur le voisin précédent du sommet courant*/
};

typedef struct TypGraphe TypGraphe;

struct TypGraphe {
	int 			nbMaxSommets;		/* nombre de maximum de sommets pouvant appartenir au graphe */
	TypVoisins** 	listesAdjacences;	/* un tableau de TypVoisins représentant le graphe */
};


typedef struct TypCoord TypCoord;

struct TypCoord {
	int x;
	int y;
};


typedef struct TypArete TypArete;

struct TypArete {
	int v1;
	int v2;
	double poids;
};




typedef struct Tas Tas;
struct Tas {
	
	int 		tailleTas;
	TypArete** 	tab;

};

typedef struct TasV2 TasV2;
struct TasV2 {
	
	int 	tailleTas;
	double* 	tabValeur;
	int* 	tabSommet;

};

#endif